Skip to content

Make Init, Enable, Disable and setPWM of drivers virtual#497

Merged
runger1101001 merged 1 commit into
simplefoc:devfrom
Moddingear:virtual_driver_startup
May 18, 2026
Merged

Make Init, Enable, Disable and setPWM of drivers virtual#497
runger1101001 merged 1 commit into
simplefoc:devfrom
Moddingear:virtual_driver_startup

Conversation

@Moddingear
Copy link
Copy Markdown
Contributor

This add the Virtual keyword to functions defined in BLDC6PWM, BLDC3PWM, Stepper2PWM, and Stepper4PWM, so that they can be overloaded further down the line with a call back to the original functionnality.

Use case for this is in the instance of the STSPIN32G4: Bootstrap capacitors need to be charged before any high level output can be requested to avoid triggering Vds protection by high side UVLO.

This is done by enabling the low side mosfets for a time (as described in the datasheet). Overloading the Enable functions allows for that to be done when needed, instead of all the time, as enabling the low side mosfets effectively brakes the motor.

The base class, FOCDriver, already has them virtual, so this adds no extra cost/vtable complexity.

@runger1101001 runger1101001 added this to the 2.4.1_Release milestone May 18, 2026
@runger1101001 runger1101001 merged commit 220d632 into simplefoc:dev May 18, 2026
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants